Soru & Cevap

Listview

29.01.2015 - 11:49

Merhaba 

Web servis üzerinden gelen harcama noktalarını listemek için il, ilçe ve semt gibi verileri listview üzerinde göstererek ordan seçip işlem yapmak istiyorum. Gelen verileri bir string dizi içine aktarıyorum. ArrayAdapter içine aktardıktan sonra hata alıyorum. İlk android projem ve projenin son adımı. Yardımcı olabilir misiniz ?

Hata :  android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

13 Görüntülenme

5 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user emreseymen93
emreseymen93
09.02.2015 - 10:47

Farklı bir metot içerisinde kullandığımdada bu hatayı verdi .java.lang.NullPointerException: storage == null

İlk android tecrübem ve son form bu hata yüzünden bitiremedim. 

picture-29479-1488215481.jpg
muzafferdaghan
06.02.2015 - 04:38

Verileri ListView'e asenkron olarak yüklerseniz bu hatayı alırsınız. Asenkron class içinde doInBackground metodunda View üzerinde değişiklik yapılıp yapılmadığını kontrol edin. Sorun bundan kaynaklanıyor gibi görünüyor.

Profile picture for user emreseymen93
emreseymen93
06.02.2015 - 10:24

run ile kullandığımda sıkıntı çözülmüş gibiydi ancak şuan yine aynı sorun devam ediyor. Listview içine aktarabiliyorum ve görüyorum yalnız bir iki saniye içinde programı durduyor. 

Muzaffer Onur DAĞHAN
06.02.2015 - 12:17
NullPointerException hatası mı alıyorsunuz?
Emre
06.02.2015 - 04:09
java.lang.RuntimeException: An error occured while executing doInBackground() bu hatayı veriyor
picture-29479-1488215481.jpg
muzafferdaghan
30.01.2015 - 08:35

WebService'den gelen verileri muhtemelen Async olarak alıyorsunuz. ListView'e verilerini BindingAdaptor ile atma işlemi asenkron olarak olursa bu hatayı alırsınız. Veriyi async olarak alıp, globalde bir değişkene atayın. Daha sonra da adaptor ile verileri arkaplanda atmayın. Normak bir metot kullanın. 

picture-31404-1421919825.png
muhcob
29.01.2015 - 02:55

Servisten gelen verilerin indirme işlemi uzun sürdüğü için indirme işlemini arka planda yapan bir thread oluşturulması gerekiyor. Bu yüzden uygulama patlıyor olabilir. Burayı inceleyerek problemi çözebilirsiniz. 

Emre
29.01.2015 - 05:17
Teşekkür ederim run ile şuan hataya düşmesini engelledim. Ama şu süre sıkıntılı, bunun için bir çözüm yolu var mı süreyi azaltabilir miyiz?
Muhammed ÇOBANOĞLU
29.01.2015 - 11:13
Linki güncelledim. İnceleyebilirsin.